package com.xoa.controller.book;

import com.xoa.model.book.BookManager;
import com.xoa.service.book.BookManagerService;
import com.xoa.util.CookiesUtil;
import com.xoa.util.ToJson;
import com.xoa.util.common.L;
import com.xoa.util.common.session.SessionUtils;
import com.xoa.util.dataSource.ContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 创建作者:   牛江丽
 * 创建日期:   ${date} ${time}
 * 类介绍  :
 * 构造参数:
 */
@Controller
@RequestMapping("/bookManager")
public class BookManagerController {
    //映射
    @RequestMapping("/index")
    public String index(HttpServletRequest request) {
        return "/app/book/bookReplay/index";
    }

    @Resource
    private BookManagerService bookManagerService;


    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年10月23日 下午14:44:00
     * 方法介绍:   添加图书管理员
     * 参数说明:   @param bookManager
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/insertManager")
    public ToJson<BookManager> insertManager(BookManager bookManager){
       return bookManagerService.insertManager(bookManager);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年10月23日 下午15:44:00
     * 方法介绍:   根据id修改图书管理员
     * 参数说明:   @param bookManager
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/upManagerById")
    public ToJson<BookManager> upManagerById(BookManager bookManager){
       return bookManagerService.upManagerById(bookManager);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年10月23日 下午15:45:00
     * 方法介绍:   根据id删除图书管理员
     * 参数说明:   @param autoId
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/delManagerById")
    public ToJson<BookManager> delManagerById(Integer autoId){
       return bookManagerService.delManagerById(autoId);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年10月23日 下午15:46:00
     * 方法介绍:   根据id查询图书管理员
     * 参数说明:   @param autoId
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/selManagerById")
    public ToJson<BookManager> selManagerById(Integer autoId){
        return bookManagerService.selManagerById(autoId);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:  2017年10月23日 下午15:47:00
     * 方法介绍:   查询所有图书管理员信息
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/selAllManager")
    public ToJson<BookManager> selAllManager(){
      return bookManagerService.selAllManager();
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书录入首页界面映射
     * @return
     */
    @RequestMapping("/inputIndex")
    public String inputIndex(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/index";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书管理界面映射
     * @return
     */
    @RequestMapping("/bookManage")
    public String bookManage(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/bookManage";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   编辑图书界面映射
     * @return
     */
    @RequestMapping("/editBook")
    public String editBook(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/editBook";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   新建图书界面映射
     * @return
     */
    @RequestMapping("/addBook")
    public String addBook(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/addBook";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   导入图书界面映射
     * @return
     */
    @RequestMapping("/inputBook")
    public String inputBook(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/inputBook";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   导入图书界面映射
     * @return
     */
    @RequestMapping("/bookQuery")
    public String bookQuery(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookInput/bookQuery";
    }


    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书查询首页界面映射
     * @return
     */
    @RequestMapping("/query")
    public String query(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/query";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书查询首页界面映射
     * @return
     */
    @RequestMapping("/queryIndex")
    public String queryIndex(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/index";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书查询详情界面映射
     * @return
     */
    @RequestMapping("/bookDetail")
    public String bookDetail(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/bookDetail";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   待批借阅页面映射
     * @return
     */
    @RequestMapping("/Pending")
    public String Pending(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/Pending";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   已批借阅页面映射
     * @return
     */
    @RequestMapping("/approval")
    public String approval(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/approval";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   已批借阅页面映射
     * @return
     */
    @RequestMapping("/Noapproved")
    public String Noapproved(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/Noapproved";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   已批借阅页面映射
     * @return
     */
    @RequestMapping("/selectBook")
    public String selectBook(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookQuery/selectBook";
    }


    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书管理设置首页界面映射
     * @return
     */
    @RequestMapping("/setIndex")
    public String setIndex(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookSetting/index";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书类别定义首页界面映射
     * @return
     */
    @RequestMapping("/bookType")
    public String bookType(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookSetting/bookType";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:   图书类别定义首页界面映射
     * @return
     */
    @RequestMapping("/managerSetting")
    public String managerSetting(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookSetting/managerSetting";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:  借还书管理首页界面映射
     * @return
     */
    @RequestMapping("/replayIndex")
    public String replayIndex(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookReplay/index";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:  借还书管理首页界面映射
     * @return
     */
    @RequestMapping("/borrowManage")
    public String borrowManage(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookReplay/borrowManage";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:  借还书管理首页界面映射
     * @return
     */
    @RequestMapping("/bookReturn")
    public String bookReturn(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookReplay/bookReturn";
    }

    /**
     * 创建作者:   杨璞
     * 创建日期:   2017年10月24日
     * 方法介绍:  借还书管理首页界面映射
     * @return
     */
    @RequestMapping("/bookRecord")
    public String bookRecord(HttpServletRequest request) {
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        String loginDateSouse = SessionUtils.getSessionInfo(request.getSession(), "loginDateSouse", String.class, redisSessionCookie);
        ContextHolder.setConsumerType("xoa" + loginDateSouse);
        return "app/book/bookReplay/bookRecord";
    }



}
